package com.example.onlinemusicplayer.mapper;

import com.example.onlinemusicplayer.model.Music;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface LoveMusicMapper {
//  需要查询此次收藏音乐是否之前收藏过
    Music findLoveMusicByMusicIdAndUserId(@Param("userid") Integer userid,@Param("musicid") Integer musicid);

//  向 数据表 lovemusic 插入一条信息
    boolean insertLoveMusic(@Param("userid") Integer userid,@Param("musicid") Integer musicid);

//     如果没有传入 歌曲名/字符，显示当前用户收藏的所有音乐
    List<Music> findLoveMusicByUserId(@Param("user_id") Integer user_id);

//    反之，传入了 歌曲名/字符，进行模糊查询。
    List<Music> findLoveMusicByKeyAndUserId(@Param("title") String title,@Param("user_id") Integer user_id);

    // 根据 userId 和 musicId 来删除（移除）收藏表中的信息
    Integer deleteLoveMusic(@Param("userid") Integer userid,@Param("musicid") Integer musicid);

    // 根据 musicid 删除收藏表上的文件
    Integer deleteLoveMusicById(@Param("musicid") Integer musicid);
}
